# 第一阶段：构建阶段
FROM oven/bun:latest AS build

WORKDIR /app

# 复制 package.json 和 lock 文件（假设您使用的是 bun 的 lock 文件 bun.lockb）
COPY package.json bun.lock ./

# 安装依赖
RUN bun install

# 复制源代码并执行构建
COPY . ./

RUN bun run build

# 第二阶段：生产阶段
FROM oven/bun:latest

WORKDIR /app

# 从构建阶段复制 package.json, node_modules, 和构建输出
COPY --from=build /app/package.json ./
COPY --from=build /app/node_modules ./node_modules/
COPY --from=build /app/dist ./dist/

# 暴露端口
EXPOSE 3000

# 启动应用
CMD ["bun", "./dist/app.js"]